Crate libcasr

source ·
Expand description

§LibCASR

LibCASR provides API for parsing stacktraces, collecting crash reports, triaging crashes (deduplication and clustering), and estimating severity of crashes.

It can analyze crashes from different sources:

  • AddressSanitizer
  • UndefinedBehaviorSanitizer
  • Gdb output

and program languages:

  • C/C++
  • Rust
  • Go
  • Python
  • Java
  • JavaScript
  • C#

It could be built with exploitable feature for severity estimation crashes collected from gdb. To save crash reports as json (.casrep/.sarif) use serde feature.

Modules§

  • Asan module implements ParseStacktrace, Exception and Severity traits for AddressSanitizer reports.
  • Provides API’s for cluster manipulating.
  • Constants for signals and stack trace filtering.
  • Cpp module implements Exception trait for C++ exception messages.
  • C# module implements ParseStacktrace and Exception traits for C# reports.
  • A custom Casr error.
  • Provides Exception trait.
  • Execution_class module contains the ExecutionClass structure which holds an information about crash severity. CLASSES holds raw instances of ExecutionClass structure.
  • Gdb module implements ParseStacktrace, Exception and Severity traits for Gdb output.
  • Go module implements ParseStacktrace and Exception traits for Go panic output.
  • Java module implements ParseStacktrace and Exception traits for Java reports.
  • JS module implements ParseStacktrace and Exception traits for JS reports.
  • Python module implements ParseStacktrace and Exception traits for Python reports.
  • Report contains the main struct CrashReport with all information about crash.
  • Rust module implements Exception traits for Rust panic messages.
  • Sarif module contains Sarif struct that contains multiple CrashReport structs in SARIF format.
  • Provides Severity trait.
  • Provides API’s for parsing, filtering, deduplication and clustering.
  • UndefinedBehaviorSanitizer module implements Severity and CrashLineExt traits for UndefinedBehaviorSanitizer warnings.

Macros§

  • This macro updates variables used to remove trusted functions from stack trace